from api import *


def read_path(file_pathname):
    for filename in os.listdir(file_pathname):
        # 函数调用的顺序不能改变，因为后面函数中有部分数据是前面函数生成的
        """
        CNFD函数接口：
        调用方式：CNFD(file_pathname,filename)
        输入：参数分别是file_pathname（文件路径名）以及filename（文件名）  eg:CNFD("D:/mywork/Arbitrary/gt","FJ103.png")
        输出：返回结果是连通域的个数，同时会在文件路径名下生成一个Color文件夹，保存不同连通域的分类效果
        """
        cnfd = CNFD(file_pathname, filename)
        """
        CNBD函数接口：
        调用方式：CNBD(file_pathname,filename)
        输入：参数分别是file_pathname（文件路径名）以及filename（文件名）  eg:CNFD("D:/mywork/Arbitrary/gt","FJ103.png")
        输出：返回分支点的个数，同时会在文件路径名下生成一个Refinement文件夹保存血管细化的结果，一个Branch_point文件夹保存血管分支点标记的结果
        """
        cnbd = CNBD(file_pathname, filename)
        """
        CTBD函数接口：
        调用方式：CTBD(file_pathname,filename)
        输入：参数分别是file_pathname（文件路径名）以及filename（文件名）  eg:CNFD("D:/mywork/Arbitrary/gt","FJ103.png")
        输出：返回分支数量
        """
        ctbd = CTBD(file_pathname, filename)
        """
        CNFL函数接口：
        调用方式：CNFL(file_pathname,filename)
        输入：参数分别是file_pathname（文件路径名）以及filename（文件名）  eg:CNFD("D:/mywork/Arbitrary/gt","FJ103.png")
        输出：返回所有血管的长度，同时会在文件路径名下生成一个Degree文件夹，保存血管角度的直方图统计，直方图以20度为一个间隔
        """
        cnfl = CNFL(file_pathname, filename)

        # 0.16是图片物理大小，换算成每平方毫米上数量
        print("CNFL: {}, CNFD: {}, CTBD: {}, CNBD: {}".format(cnfl / 0.16, cnfd / 0.16, ctbd / 0.16, cnbd / 0.16))


# 文件输入的格式要注意，很多情况是文件输入格式不对，文件路径应到到存放二值化图片的文件夹 eg："D:/mywork/Canlendar/gt"  "/home/ljy0808/api/gt"

read_path("./asserts")
